﻿using System;


namespace InControl
{
	// @cond nodoc
	[AutoDiscover]
	public class BetopWinProfile : UnityInputDeviceProfile
	{
        public BetopWinProfile()
		{
            Name = "Betop Controller";
            Meta = "Betop Controller on Windows";

			SupportedPlatforms = new[] {
				"Windows"
			};

			JoystickNames = new[] {
				"BETOP CONTROLLER",
                "BETOP (GAME FOR WINDOWS)",
                "BETOP (GAME For Windows)",
                "[BETOP CONTROLLER]",
                "[ BETOP CONTROLLER ]",
                "< BETOP GAME FOR WINDOWS >",
			};

			ButtonMappings = new[] {
				new InputControlMapping {
					Handle = "3",
					Target = InputControlType.Action1,
					Source = Button2
				},
				new InputControlMapping {
					Handle = "2",
					Target = InputControlType.Action2,
					Source = Button1
				},
				new InputControlMapping {
					Handle = "4",
					Target = InputControlType.Action3,
					Source = Button3
				},
				new InputControlMapping {
					Handle = "1",
					Target = InputControlType.Action4,
					Source = Button0
				},
				new InputControlMapping {
					Handle = "Left Bumper",
					Target = InputControlType.LeftBumper,
					Source = Button4
				},
				new InputControlMapping {
					Handle = "Right Bumper",
					Target = InputControlType.RightBumper,
					Source = Button5
				},
				new InputControlMapping {
					Handle = "Left Trigger",
					Target = InputControlType.LeftTrigger,
					Source = Button6
				},
				new InputControlMapping {
					Handle = "Right Trigger",
					Target = InputControlType.RightTrigger,
					Source = Button7
				},
                new InputControlMapping {
                    Handle = "Right Stick Button",
                    Target = InputControlType.RightStickButton,
                    Source = Button11
                },
                new InputControlMapping {
					Handle = "B9",
					Target = InputControlType.Select,
					Source = Button8
				},
                new InputControlMapping {
                    Handle = "B10",
                    Target = InputControlType.Start,
                    Source = Button9
                },
                new InputControlMapping {
                    Handle = "B10",
                    Target = InputControlType.Back,
                    Source = Button12
                },
                new InputControlMapping {
					Handle = "Left Stick Button",
					Target = InputControlType.LeftStickButton,
					Source = Button10
				}
			};

			AnalogMappings = new[] {
				LeftStickLeftMapping( Analog0 ),
				LeftStickRightMapping( Analog0 ),
				LeftStickUpMapping( Analog1 ),
				LeftStickDownMapping( Analog1 ),

				RightStickLeftMapping( Analog2 ),
				RightStickRightMapping( Analog2 ),
				RightStickUpMapping( Analog3 ),
				RightStickDownMapping( Analog3 ),

				DPadLeftMapping( Analog4 ),
				DPadRightMapping( Analog4 ),
				DPadUpToDownMapping( Analog5 ),
				DPadDownToUpMapping( Analog5 ),
			};
		}
	}
	// @endcond
}

